package com.ddxz.photovoltaic.mapper;

import com.ddxz.photovoltaic.entity.CollectorEntity;
import com.ddxz.photovoltaic.entity.EpmEntity;
import com.ddxz.photovoltaic.entity.InverterEntity;
import com.ddxz.photovoltaic.entity.StationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * interface description
 *
 * @author 朱宗刚
 * @version 1.0.0
 * @date 2022/8/28
 */

@Mapper
@Repository
public interface StationMapper {
    /**
     * 记录日志信息
     * @param id 主键
     * @param desc 日志内容
     * @param startTime 开始时间
     * @param stopTime 结束时间
     * @param state 状态 0 成功；1 错误
     * @param rowNum 插入数据条数
     * @return 是否成功
     */
    Integer saveLogs(@Param("id") Long id, @Param("desc") String desc,
                     @Param("bt") long startTime, @Param("et") long stopTime,
                     @Param("state") int state, @Param("num") Integer rowNum);

    /**
     * 保存站点信息到数据库中
     * @param list 站点信息
     * @return 保存记录条数
     */
    Integer saveStationData(List<StationEntity> list);

    /**
     * 保存采集器信息到数据库中
     * @param list 采集器信息
     * @return 保存记录条数
     */
    Integer saveCollectorEntity(List<CollectorEntity> list);

    /**
     * 保存逆变器信息到数据库中
     * @param list 逆变器信息
     * @return 保存成功记录条数
     */
    Integer saveInverterData(List<InverterEntity> list);

    /**
     * 保存EPM信息到数据库中
     * @param list EPM信息
     * @return 保存成功记录条数
     */
    Integer saveEpmData(List<EpmEntity> list);
}
